# -*- coding: utf-8 -*-
# @Time    : 2020/5/29 19:40
# @Author  : Leeli
# @Email   : lililove2000@163.com
# @File    : main.py
# @Software: PyCharm

# 导入Kivy的App基类
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout  # 引入布局
from kivy.uix.button import Button  # 引入按钮
from kivy.graphics import Rectangle, Color


# 布局类
class BoxLayoutWidget(BoxLayout):
    # 初始化
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        # 改变布局的方向（竖向）
        self.orientation = "vertical"

        # 设置背景颜色（可忽略）
        with self.canvas:
            Color(1, 1, 1, 1)
            self.rect = Rectangle(pos=self.pos, size=self.size)
            self.bind(pos=self.update_rect, size=self.update_rect)

        # 添加按钮
        self.add_widget(Button(text="Hello"))
        self.add_widget(Button(text="BoxLayout"))

        # 添加布局
        self.layout = BoxLayout()

        # 指定布局方向（横向）
        self.layout.orientation = "horizontal"
        # 添加按钮到新布局
        self.layout.add_widget(Button(text="first",  # 按钮显示的文本
                                      size_hint_y=.2))  # 按钮大小
        self.layout.add_widget(Button(text="second", size_hint_y=.3))
        self.add_widget(self.layout)

    # 设置背景尺寸
    def update_rect(self, *args):
        self.rect.pos = self.pos
        self.rect.size = self.size


# 继承App类
class BoxApp(App):
    # 实现build()方法
    def build(self):

        # 返回根控件
        return BoxLayoutWidget()


if __name__ == "__main__":  # 程序入口
    BoxApp().run()  # 启动应用程序
